1. Field of the Invention
The present innovation relates generally to artificial neural networks, and more particularly in one exemplary aspect to computer apparatus and methods for efficient operation of spiking neural networks.
2. Description of Related Art
Artificial spiking neural networks are frequently used to gain an understanding of biological neural networks, and for solving artificial intelligence problems. These networks typically employ a pulse-coded mechanism, which relies on encoding information using timing of the pulses. Such pulses (also referred to as “spikes” or ‘impulses’) are short-lasting (typically on the order of 1-2 ms) discrete temporal events and are used, inter alia, to encode information. Several exemplary embodiments of such encoding are described in a commonly owned and co-pending U.S. patent application Ser. No. 13/152,084 entitled APPARATUS AND METHODS FOR PULSE-CODE INVARIANT OBJECT RECOGNITION”, and U.S. patent application Ser. No. 13/152,119 entitled “SENSORY INPUT PROCESSING APPARATUS AND METHODS”, each incorporated herein by reference in its entirety.
A typical artificial spiking neural network includes a plurality of units (or nodes), which correspond to neurons in a biological neural network. A single unit may be connected to many other units via connections, also referred to as communications channels, or synaptic connections. Those units providing inputs to any given unit are commonly referred to as the pre-synaptic units, while the units receiving the inputs from the synaptic connections are referred to as the post-synaptic units.
Each of the unit-to-unit connections is assigned, inter alia, a connection strength (also referred to as the synaptic weight). During operation of the pulse-coded network, synaptic weights are dynamically adjusted using what is referred to as the spike-timing dependent plasticity (STDP) in order to implement, among other things, network learning. Typically, each unit may receive inputs from a large number (up to 10,000) of pre-synaptic units having associated pre-synaptic weights, and provides outputs to a similar number of downstream units via post-synaptic connections (having associated post-synaptic weights). Such network topography therefore comprises several millions of connections (channels), hence requiring access, modification, and storing of a large number of synaptic variables for each unit in order to process each of the incoming and outgoing pulse through the unit.
Various techniques for accessing the synaptic variables from the synaptic memory exist. The synaptic weights are typically stored in the synaptic memory using two approaches: (i) post-synaptically indexed: that is, based on the identification (ID) of the destination unit, e.g., the post-synaptic unit; and (ii) pre-synaptically indexed: that is based on the source unit ID, e.g., the pre-synaptic unit.
When the synaptic data are stored according to the pre-synaptic index, then access based on the post-synaptic index is inefficient. That is, a unit receiving input from in pre-synaptic units and providing n outputs via n post-synaptic channels, requires n reads and n writes of a one-weight block (scattered access) to process the pre-synaptic inputs, and one read, one write of a m-weight block to process the post-synaptic outputs. Similarly, the post-synaptic index based storage scheme results in one read, one write of an in-weight block to process the pre-synaptic inputs, and n reads and n writes of a one-weight block to process the post-synaptic outputs, because one or the other lookup would require a scattered traverse of non-contiguous areas of synaptic memory.
One approach to implement efficient memory access of both pre-synaptic and post-synaptic weights is proposed by Jin et al, and is referred to as the “pre-synaptic sensitive scheme with an associated deferred event-driven model”. In the model of Jin, synaptic variable modification is triggered during a pre-synaptic spike event (no synaptic variables access during post-synaptic spike event), and hence the synaptic information is stored based only on the pre-synaptic index (see Jin, X., Rast, A., F. Galluppi, F., S. Davies., S., and Furber, S. (2010) “Implementing Spike-Timing-Dependent Plasticity on SpiNNaker Neuromorphic Hardware”, WCCI 2010, IEEE World Congress on Computational Intelligence), incorporated herein by reference in its entirety. In addition, the actual update of synaptic variables is deferred until a certain time window expires.
However, this approach has several limitations. For a typical STDP window of 100 ins, the corresponding firing rate of the pre-synaptic neuron needs to be greater than 10 Hz for the scheme of Jin et al. (2010) to work properly. Furthermore, the deferred approach of Jin et al. (2010) does not provide immediate update for the synaptic weights, because the approach waits for the time window to expire before modifying the synaptic weight, thereby adversely affecting the accuracy of post-synaptic pulse generation by the unit.
Existing synaptic update approaches do not provide synaptic memory access mechanisms that are efficient for a large category of spiking neural networks. Such approaches also do not provide up-to-date synaptic variables for different kind of learning rules, and are limited by the firing rate of the pre-synaptic and post-synaptic units.
Furthermore, existing synaptic weight update schemes are not applicable to different plasticity models, such as the nearest-neighbor, all-to-all etc. See Izhikevich and Desai 2003, entitled “Relating STDP to BCM”, Neural Computation 15, 1511-1523, incorporated herein by reference in its entirety, relating to various plasticity rules such as STDP, inverse STDP, and “bump” STDP. See also Abbott L. F. and Nelson S. B. (2000), “Synaptic plasticity: taming the beast”, Nature Neuroscience, 3, 1178-1183, also incorporated herein by reference in its entirety.
Accordingly, there is a salient need for a more efficient, timely, and scalable synaptic variable update mechanism that is applicable to many different types of plasticity models and different plasticity rules.